Click Here!
home account info subscribe login search My ITKnowledge FAQ/help site map contact us


 
Brief Full
 Advanced
      Search
 Search Tips
To access the contents, click the chapter and section titles.

Oracle Performance Tuning and Optimization
(Publisher: Macmillan Computer Publishing)
Author(s): Edward Whalen
ISBN: 067230886x
Publication Date: 04/01/96

Bookmark It

Search this book:
 
Previous Table of Contents Next


Three-Tiered System

The three-tiered client/server system uses the same client configuration as the two-tiered model but pushes some of the application logic away from the server and onto another machine. This third machine is sometimes known as an application server (see Figure 33.6). The application server is responsible for running much of the application code related to the server, freeing the server to handle RDBMS activities.


Figure 33.6  The three-tiered client/server configuration.

There are several benefits from moving the application away from the server:

  Better performance. By splitting the application and RDBMS processing onto separate machines, each can be tuned for their specialty.
  Reduced contention. In this model, because you do not need as many SQL*Net connections into the database server, contention may be reduced.
  Resource reduction. Because there are fewer SQL*Net connections into the database server, memory consumption on the server is reduced.
  More flexibility. Because the application is removed from the server, there is more configuration flexibility: You are not limited to one application server.
  Increased control. Because the application servers are handling requests from the users, queuing can be used to control the access to the database server.
  Functional separation. By separating the function of the database server from the application server, each can be maintained and serviced separately. Multiple application servers and database servers can provide for redundancy.


NOTE:  These reasons lead me to believe that the three-tiered architecture will become more predominant in large installations with large applications. Some applications such as SAP financial systems are already taking advantage of the three-tiered architecture. Other applications such as Transaction Monitors have been in use for many years, making applications three tiered.

Client Bottlenecks

Now that the client has been defined, you can determine what affects the performance of the client system. The client system is responsible for running the client application and presenting the results to the user. The client application consists of the following parts:

  Network connection. This consists of the physical layer, the OS layer, and the SQL*Net layer. The SQL*Net layer may be shared with ODBC.
  Application. This is the part of the application that does the computation or processing of data.
  Presentation services. This part of the application is responsible for presenting the finished data to the user in the desired form.

Any of these areas can cause a bottleneck in the client system. The following sections look at these areas and determine what components can affect performance.

Network Performance

The performance of the network itself is usually not a problem for the client. The operating system vendors and Oracle have optimized their network components. There may be a problem, however, in exceeding the limits of the physical components. Judge this possibility on a case-to-case basis. Here are a few things you can look for to make this determination:

  Do you have out-of-date network components? If you are running on a Pentium client and using an 8-bit network card, consider upgrading.
  Is there an extreme amount of traffic on the network? By using a network analyzer, you can determine if you are reaching the limits of your network.
  Do other network activities seem sluggish? If the network seems slow with other activities, you may have a problem such as bandwidth that has been exceeded or too many collisions.

Typically, the network is not a problem; however, if any of these symptoms exist, you may want to take action by upgrading network components.

Application Performance

The application can be the cause of a bottleneck if it is not properly designed and tuned. Many older development tools were very inefficient and slow. By developing an optimized application, performance can be greatly enhanced. Here are some ways to determine whether your application is a bottleneck:

  Is the application compiled or interpreted? Compiled applications typically have less overhead and run faster.
  Does the client take more time to process than the server? By timestamping the application, you can determine how much time is spent in the application and how much time is spent waiting for the server.
  Does the application seem sluggish? Do simple operations such as data input seem too slow? If so, maybe the application is inefficient or the client hardware is insufficient for the task.
  Are the SQL statements efficient? Use SQL Trace and EXPLAIN PLAN to check the efficiency of these statements.
  Do other users have the same problem? Because the application is deployed to many clients, do they all see the problem or is it local to certain users? If only certain users have the problem, this may indicate that a specific client is at fault.

By making a determination about how efficient the application is, you may be able to determine whether it is the cause of the bottleneck.


Previous Table of Contents Next


Products |  Contact Us |  About Us |  Privacy  |  Ad Info  |  Home

Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc.
All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb is prohibited.